package	com.mes.service.jyy;
import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.mes.dao.jyy.ApproveMapper;
import com.mes.entity.jyy.Approve;
import com.mes.entity.jyy.DepAndStaff;
/**
 *
 *@ClassName: ApproveService
 *@Description: 
 *@Author jyy
 *@Date 2019-07-22 11:18:08
 *@version 1.0
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class ApproveServiceImpl implements ApproveService {
	@Resource ApproveMapper ApproveMapper;
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public Approve queryById(Long id) {
		return ApproveMapper.queryById(id);
	}
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Approve> queryAllByMution(Approve param) {
		return ApproveMapper.queryAllByMution(param);
	}
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<Approve> findPageByMution(Approve param) {
		return ApproveMapper.findPageByMution(param);
	}
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(Approve param) {
		return ApproveMapper.selectCountByMution(param);
	}
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(Approve param) {
		return ApproveMapper.insert(param);
	}
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(Approve param) {
		return ApproveMapper.update(param);
	}
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids) {
		return ApproveMapper.delete(ids);
	}
	@Override
	public List<DepAndStaff> selectAllDepAndStaff() {
		List<DepAndStaff> list = new ArrayList<DepAndStaff>();
		List<DepAndStaff> list1 = ApproveMapper.selectAllDep();
		List<DepAndStaff> list2 = ApproveMapper.selectAllStaff();
		
		list.addAll(list1);
		list.addAll(list2);
		
		return list;
	}
	/** 
	 * 根据审批id对应单据的状态  参照 approval_bil_sqll表
	 * @param id 审批id
	 * @return 影响行数
	 */
	public Integer approvalBilSqll(Long id,String type,int state){
		return ApproveMapper.approvalBilSqll(id,type,state);
	}
}
